ในเรสต์, โปรไฟล์รีลีส คือการตั้งค่าที่กำหนดไว้ล่วงหน้า ซึ่งช่วยให้นักพัฒนาสามารถควบคุมความสมดุลระหว่าง เวลาในการคอมไพล์ กับ ประสิทธิภาพการทำงานโดยการปรับเปลี่ยนการตั้งค่านี้ คุณสามารถปรับพฤติกรรมของคอมไพเลอร์ให้เหมาะสมกับแนวทางการทำงานปัจจุบันของคุณ ไม่ว่าจะเป็นการทดลองอย่างรวดเร็ว หรือการวางจำหน่ายในสภาพแวดล้อมจริง
1. โปรไฟล์เดว กับ โปรไฟล์รีลีส
แคโรจีมีโปรไฟล์หลักสองแบบ: เดว (ใช้โดย แคโรจีบิลด์) และ รีลีส (ใช้โดย แคโรจีบิลด์ –รีลีส) โปรไฟล์เดวถูกออกแบบมาเพื่อให้คอมไพล์ได้เร็ว แต่ทำให้โค้ดทำงานช้า ในขณะที่โปรไฟล์รีลีสใช้เวลานานกว่าในการปรับปรุงรหัสเครื่องให้มีประสิทธิภาพสูงสุด
2. การตั้งค่าระดับการปรับปรุง (Opt-Level)
การตั้งค่า opt-level คือการควบคุมหลักสำหรับประสิทธิภาพ มีค่าตั้งแต่ 0 ถึง 3:
- 0: ไม่มีการปรับปรุงใดๆ คอมไพล์เร็ว แต่โค้ดทำงานช้า (ค่าเริ่มต้นสำหรับเดว)
- 1-2: การปรับปรุงระดับกลาง
- 3: การปรับปรุงอย่างเข้มข้น คอมไพล์ช้า แต่โค้ดทำงานเร็วที่สุด (ค่าเริ่มต้นสำหรับรีลีส)
- "s" หรือ "z": เน้นขนาดไฟล์ไบนารีให้เล็กลง แทนที่จะเน้นความเร็ว
| โปรไฟล์ | ค่าเริ่มต้นของระดับการปรับปรุง | เป้าหมาย |
|---|---|---|
| เดว | 0 | การทดลองอย่างรวดเร็ว |
| รีลีส | 3 | ความเร็วในการผลิต |
3. การปรับแต่งโปรไฟล์
คุณสามารถเปลี่ยนแปลงค่าเริ่มต้นเหล่านี้ในไฟล์ Cargo.tomlซึ่งมีประโยชน์เมื่อโค้ดที่ไม่ได้รับการปรับปรุงทำงานช้าเกินไปสำหรับการทดสอบ (เช่น ในการจำลองงานหนัก) แต่การสร้างโปรไฟล์รีลีสเต็มรูปแบบใช้เวลานานเกินไป
opt-level = 1 # โค้ดเร็วกว่าระดับ 0 แต่ยังคงคอมไพล์ได้เร็ว